/**
 * Project observer
 */


#ifndef _SUBJECT_H
#define _SUBJECT_H
class Observer;

class Subject {
public: 
    
/**
 * @param Observer *
 */
virtual void attach(Observer *) = 0;
    
/**
 * @param Observer *
 */
virtual void detach(Observer *) = 0;
    
virtual void notify() = 0;
    
virtual ~Subject() = 0;
};

#endif //_SUBJECT_H
